Quick note: I am posting this as a new issue because all the other entries seem to be closed because the others didn't submit their bug report properly.
Mode: Multiplayer and Singleplayer
Steps to reproduce:
Create a new single player world, or enter a server as operator
Be in creative mode
use the command:
/give @p spawner{BlockEntityTag:{SpawnData:{id:"minecraft:sheep"}}} 1
4. Place spawner
Expected result:
The spawner will function with the NBT data and continue to spawn sheep.
Actual result:
The spawner will spawn a couple sheep once, and then revert to a pig spawner (the default spawner) and start spawning pigs.
Additionally, if you are in survival, it will just turn into a pig spawner WITHOUT spawning sheep one time.
Related issues
duplicates
Comments

Can confirm that this exists in 1.16.5... I haven't tested on 1.17 though.