Both (a) and (b) are perfectly fine in this situation, and both essentially mean the exact same thing.
The difference is very subtle, but I will try to explain it.
With (a), you are referring back to a very specific moment in time: the time you last heard from her.
With (b), you are not referring back to a specific moment in time, but rather emphasizing the amount of time that has passed.
This difference is very subtle, and probably not worth spending much time analyzing.
One more way you could say the same thing, a variation on (a), is:
"It has been a month since I last heard from her."
By the way, Hirashin, since you are deeply interested in nuances of English, in order to help you I would like to point out that you made a mistake in your original question.
"how are they differ in meaning?" is incorrect.
"differ" is a verb, not an adjective.
Either of these is correct:
- "how do they differ in meaning?"
- "how are they different in meaning?"