Regardless of what you husband says, smacking a child on the arms and legs IS hitting, and I think if you let yourself think about it you know this. This is not spanking. Your husband is taking out his anger and frustration on your son. The "cold day in hell" is already here.
So you husband is constantly irritable, no longer interested in things he used to enjoy doing, not engaging in life with his own family? Your husband sounds depressed - and a depressed man acts often acts like a constantly pissed off man. He needs help. But his mental condition is no excuse for the way he is treating you, and especially not for the way he is treating your son. Your child is afraid of his own father! Why are you not already out of the house and staying somewhere else?! Please leave and do not go back until your husband has sought treatment and counseling. I don't mean until he says he will - I mean until he goes. And if he will not seek help, then you need to summon the strength to make leaving permanent.
I am not just saying this as someone who has never been there. My spouse has PTSD (and the anxiety and depression that often ride in on the same horse), and refused to acknowledge it for a long time. He became increasingly hard to live with. Everything pissed him off.
Then came the day he hit our son in anger. Once. The next day he was at the VA seeking help, and within a week they had him on meds and seeing a counselor regularly. It has taken some work and it hasn't been easy, but things are getting better.
I couldn't "fix him." He had to decide for himself to go in. All I could do was offer him a choice - seek help and keep his family, or don't seek help and lose us.