I think the purpose of a gift is to let the person you love that you love them, as a part of that, that you know him well and listen to him.
On that aspect chocolate or underwear or wine are basically a no-go - anyone can bring that to anyone. Think back about conversation that you had - does he have a favorite movie director? favorite band? a cool hobby? strange food craving?
You don't have to spend a lot of money, sometime even no money - get him his favorite candy from when he was a kid or a book by his favorite author or an autographed picture from his favorite actor \ sport player.
Another good option is something that the two of you can enjoy together - concert tickets, hot air balloon ride, a picnic in the par or so on - create good memories for the future.
Or, just do something original and crazy -
A friend of mine had the coolest surprise when his girlfriend had a huge heart with his name in drawn on the sidewalk with chalk. it was really awesome.