Ничего, это вполне допустимо:
> db.test.save({a_a:1})
> db.test.find()
{ "_id" : ObjectId("4eef2d73f6c42df1ecd67a71"), "a_a" : 1 }
Ваша проблема, вероятно, где-то еще. Обратите внимание, что вы должны использовать последнюю стабильную версию, чтобы проверить это, поскольку в более ранних версиях были некоторые проблемы со специальными символами в именах полей (хотя я не помню, чтобы это была одна из этих исправленных проблем).