In my experience, when I act like your girlfriend it's almost always about something bigger, even if I don't realize it at the time.
What you think you're arguing about and what you're actually arguing about are probably two different things. You, as a guy, can do one little thing that isn't so great, and it becomes a reminder to her of something else. Sometimes, deep down I am upset about something and I'm not even consciously aware of it, until I get upset about something stupid and through talking realize what it's really about. So my advice to you is to try to figure out the bigger reason she is acting this way. It may very well be that you haven't proposed yet, or it could be something else. Maybe you haven't been as attentive to her as you could be, and rejecting her wanting to be close to you was the icing on the cake.
And don't ever apologize if you aren't truly sorry. That makes it worse. Or, even worse is saying "I'm sorry you feel that way". That makes me want to scream. Your approach can truly diffuse the situation, if you do it right. Apologizing when it's not genuine and asking "what the problem is" clearly didn't work. So, acknowledge that you hurt her (because, whether or not you think she shouldn't be, she was hurt), tell her that you love her and that you shouldn't have been so grouchy. If she's a mature person, she'll start looking at herself and realize that she probably overreacted. Someone has to start.
And yes, sometimes it's about hormones. I make no excuses for myself- my boyfriend has learned to ride it out and even tell me when I'm being ridiculous. If this is a factor with your girlfriend, she needs to be able to take responsibility for that and do the best she can to keep it together. And you can help her by figuring out when it's best to just keep your distance and let it blow over. No small feat, I understand. But after two years, you must know whether this is a cyclical thing or not, and if it is you need to figure out whether you love her enough to learn how to deal with it the rest of your life. I know I get a little nutty, I always apologize afterward when I do, and my boyfriend has (lucky for me) learned that it's not his fault, learned to just listen to me and let it blow over. He's no walk in the park all the time either, but if I'm truly out of line he will say "please don't talk to me that way". And I'll stop.
It sounds to me like you both could stand to work on the communication. It can be helped, but both of you have to take an honest look at how you deal with each other and focus on how you're treating the other person instead of how you're being treated in the moment.