This is a normal limitation of the NES hardware. From [https://gamedev.stackexchange.com/questions/152469/why-did-sprites-sometimes-flicker-or-disappear-in-very-old-games|here]:
On the NES this happens because the Picture Processing Unit (PPU) in the NES only supports a certain number of 8x8 or 8x16 sprites. For the PPU this limit is eight per scanline and a maximum of 64 sprites in total. Because of this whenever the system tries to draw another sprite when there's already eight sprites present on the same scanline the PPU simply does not draw that sprite, and instead sets a flag noting that an "overflow" of sprites has happened.
Because of how the PPU works it would be very annoying if a projectile completely disappeared because there were too many sprites on screen and it was drawn too late (after 8 other sprites). To combat this the game developers for the NES used the flag mentioned above as an indication that they had to "shuffle" the sprite rendering order. Re-ordering the sprites simply made the sprites on the same scanline draw in a different order than the previous frame, causing a different sprite to be left out than last time.
This is what caused the "flickering" effect of sprites appearing and disappearing randomly since they were sometimes too late in the draw order to be drawn, and sometimes not. While not perfect or aesthetically pleasing it beats out having completely invisible objects.