На одном из форумов, где обсуждался вопрос, как правильно: в городе Москва или в городе Москве, участник дебатов дал такой ответ: «Если Москва идёт в сочетании со словом "город", то в "городе Москва".
Склоняются в таком случае имена собственные мужского рода. А если без слова "город", то "в Москве". В школе нас, по крайней мере, так учили».
Действительно, географические названия могут не склоняться в тех случаях, когда род обобщаемого слова и собственно наименования не совпадают, к примеру: недалеко от села Миронушка.
Читать на russkiymir.ru