There are some words that don't have an unique gender. This may be caused by different reasons:
- different gender in technical language
das Virus (technical)
der/das Virus (colloquial)
- regional differences in the used gender:
das Radio - (general)
der Radio - (more in southern germany)
It also sometimes happens, that words that look identical have a different meaning when used in a different gender:
das Moment - (momentum for example in physics)
der Moment - (moment as a short period of time)
also: Heide, Mangel, Laster, Tor, Verdienst, See, Kristall, Junge, ...
I have been looking this up in different books about German language and couldn't find a satisfying answer. Also I can't think of an explanation that is obvious for me as a native speaker aside from the regional differences.