Some adjectives can be used both before or after the noun. Buono is an example, but also bello, bravo, brutto, etc. It basically depends on the importance of the adjective with respect to the noun. I found this online, but it's in italian: http://www.adgblog.it/2012/02/02/grammatica-la-posizione-degli-aggettivi-qualificativi-esercizio/ (see 5,6 and 7), however I am sure that if you research online you will find the same rules explained in English.
The following is from my notes from a similar discussion. I failed to document the author:
Is it wrong not to reduce buono to buon in this scenario?
If it's masculine, and BEFORE the word it's describing, the final -o is omitted, and if it's AFTER the word, the final vowel is there. Feminine, the final -a stays whether in front or after the word it describes. buon sapore, sapore buono; buona mela, mela buona
Your question got me thinking and I did a little bit of google. Here is a nice blog about the different between buono/bello and bravo/bene. Check it out! http://blogs.transparent.com/italian/buono-o-bello/