As most guys will respond to a girlfriend asking him "Are you cheating?", to answer that right on the spot the natural reaction would be to lie, lie, lie, deny, deny, deny. Not saying it's right if he is but I think for most of us that's just how we would respond. Anyway, everything that has happened up to this point does play a role and does impact your future. That explosive fight you had, you know the one where you hit him in the face? Yeah, that isn't behind you guys right now. You may think it was when you went on holiday and everything "seemed fine" but it's not. It's just another thing that is piling up on the already accumulating pile of issues that are there, even if they are a bunch of small things. It takes talking out and understanding to really get past these issues, but it also takes alot of time. When you are already unhappy and then have to have more talks to "figure things out" and feeble attempts to respark the romance, it's just continually going down the shitter.
I'm kind of curious as to why you check his phone and have all his passwords to all of his emails and stuff, and better yet, consistently check them? It's pretty obvious that you are insecure in your relationship now, but is this something you have been doing all along? Because this kind of lack of trust can have detrimental effects from the get go, and if you had trust issues in the past, that is still no excuse to carry this into the relationship you have now.
My problem with him is that he doesn't seem to care whether it goes down or not. He's just going through the motions and letting it slowly slip away. If he believed so much in your "family unit" I think he would be giving more of an effort. He hasn't and I think he is just hoping something magical is going to happen and everything can end happily ever after. I understand having a son kind of takes your attention and focus away from the relationship you have with the two of you, but it's just another responsibility to add on to your life and you have to balance your time and get your priorities in line so that they both can prosper. If you aren't growing together, you are growing apart and it's not going anywhere good now.
The problem with trying to talk to him is that he may not be be honest with you about how he feels. He may be too tired to "fight" with you so as long as you keep your talk to a normal level and not let is spiral out of control into another explosive fight again, you can make some progress. You also have to let him know you mean business about this and while he may say things like "I still think you are attractive, I still care" if his actions don't match up to it, you are probably going to have to be the one that takes action. Don't sit there and let it continually stagnate, you are going to have to do something and it better be sooner than later. I know he is the love of your life and you look to him for security, protection, and for him to make the decisions for you both, but if nothing is happening on his end and it seems like it isn't, you gotta make the moves. If it takes you taking your son and being out of the house for a while so he can figure out what he needs, so be it. Do not be afraid to do it. If it doesn't work out with you two, you will find somebody else, do not worry. And I'm not saying you should leave him right now and date other people. Just something to get him to start figuring things out, because it seems like you know what you want and he doesn't.
This isn't how a relationship is supposed to be and I hope he will understand that.
Waking up next to a beautiful girl,
Step outside and say hello to my beautiful world.