If the sim's needs are on green, there is no negative moodlets and he's still miserable, it's most propably the "cheap bed" bug. I have it every time I start a new game.
There's a bug in the game that causes the mood to drop if your sims sleeps several nights in a cheap bed. It's easily fixed either buy buying a better bed (the quality is either +, ++ or +++, I think it's only the lowest quality that causes the bug) OR if you don't have the simoleons, just save your game and reload it. The mood will be back to where it should be for the time being.