Your 7th anniversary, as in 7 years together? Or was it something else, like 7th month, 7th week...
If it's the 7th year, she should know by now that it's also your mom's birthday. On the other hand, an anniversary is a pretty important event, and I think if you knew you weren't going to be able to log on, you should have warned her. She probably expected you all day and was very disappointed.
If it was a smaller time period, say 7th month or week, then you can explain it was your mom's birthday and you're sorry you weren't there. (You are sorry, right? I mean obviously it was pretty important to her and you hurt her feelings. If you don't care about that, I agree with other posters that you might want to break it off).
She lashed at you probably because of the frustration and resentment that gathered all day while she was waiting for you. To a lot of people an anniversary is an assumed date, so imagine you had a date and never showed up and she just waited, and you'll have a better idea of where she's coming from. She probably just wants to know that you're sorry she's hurt and that you do care about her.
What I suggest is explaining what happened, saying you are sorry you guys couldn't see each other for your special day, and planning another day to celebrate on instead. On that day, pretend it's your anniversary and do something together, like watch a movie at the same time while over skype and eating together over the computer and stuff like that.
Then, to prevent things like that from happening again, make sure to warn if you're not going to be available, try to get a few minutes to call or send and email or text if something unexpected happens, and ask her to let you explain things before yelling at you. Once you have explained everything on your side and she has calmed down, you can point out that you felt hurt that she lashed at you like that and it made you feel like she takes you for granted, and you want her not to do it again.
But don't start with it. It will only make her think you're being confrontational, and then you have a case of each person trying to explain how they felt while getting the impression that the other person doesn't care about them. This time, be the one who shows you care about her feelings, and then expect her to do the same. (Don't bring it up and blame her if she already apologises on her own though).
I would have given her the same advice if she was the one to post here, I don't think there is any reason you should be the one to make the first step, but one of you has to, you knows? Then after you talk about it calmly you might find that it was all silly and that the real issue was that you miss each other a lot.
EDIT: I think I forgot to add that your gf should also say so if she expects something special on a given day, as you'll fail to match her expectations if you don't know about them. I'm not sure exactly how you can bring that up, but if you never mentioned that you were doing something special for your anniversary, it's partly her fault for assuming you were going to. It's also partly yours because it's akin to not doing anything special for someone's birthday because they didn't tell you they expected a gift: it's a social faux-pas. So you should also tell her if a big date is coming and you had no plans of doing anything special, and ask her if she did.
This way at least you can both know what to expect before the day rolls.