Because detecting and then tracking a ship operating from 'beyond the horizon' is extremely hard.
Sure, such ships like Moskva are huge. However, the sea is far bigger: so much so, in comparison, a ship is a 'needle in haystack'. Thus…
Because detecting and then tracking a ship operating from 'beyond the horizon' is extremely hard. Yet, both is necessary if one wants to strike it with an anti-ship missile like Neptune.
Sure, such ships like Moskva are huge. However, the sea is far bigger: so much so, in comparison, a ship is a 'needle in haystack'. Thus, alone finding, i.e. detecting one, is an achievement. As next, one must track such a target over some period of time, because AShMs like Neptune need very precise programming in order to target properly.
Finally, Moskva had massive air defences:, incluidng 60+ SAMs and 10 CIWS systems: the ship was de-facto a 'swimming no-fly-zone' over the Black Sea. It should've been perfectly capable of detecting and shooting down any kind of anti-ship missiles (of course, allways provided all of its systems were intact and operational, which I doubt they were).