It could be any number of things, and he's not telling you because either he doesn't want to talk about it, or he's afraid to talk to you about it.
Basically, he's trying to force a confrontation. So, you might as well confront him, but not angrily. Tell him what you're seeing and ask what's wrong, and make him give you a straight answer. If he's not going to talk and be honest, then you need to think about where you want to go from there.