Um... apologize right away :X
You know you shouldn't have said it, and it came out in anger... even if you are still upset at him for whatever the fight was about, at least apologize for saying that, and tell him you really didn't mean it and that it was a moment of frustration :X
Really... even if he does end up breaking up with you, don't leave something like that unsaid... we all say things in anger, even things we really really really shouldn't, and never honestly thought of until that moment; but the other doesn't know that you don't mean it...
Honestly, I would say exactly what you wrote here... you can write it an an email, something like...
"Hey... I'm still upset about [*inserttimeoffighthere*], and won't pretend that everything is ok, but I want to apologize for what I said.
I didn't mean to say that about your mother. I just said it out of shear anger and frustration. She should be extremely proud of you, so please don't take it to heart. I'm really sorry for having said that. You are one of the best, most caring, and understanding guys I have ever met, and don't want to lose this. I know I should never had said that, and regretted it the instant it came out, but I hope you know I didn't mean it, and don't let it affect you. I'm sorry. =/"
Something like that... you don't have to be over the fight, but I think you should apologize for it right away, because its clear you regret it, and there is no need let him keep hurting over something you didn't mean. (not saying apologizing will fix anything, but its the right thing to do... when my best friend's fiance broke up with him, she said some pretty nasty things to him, and didn't apologize for it... its still affecting him months later, and caused him to become suicidal... its not the ONLY reason, no, but its a big one. Just hearing things like that from someone you love hurts a lot, so try taking it back if you can .___.)
Best of luck.... x______x;