Canned food is contaminated in different ways. It's highly processed and often it contains meat-by-products (read cancerous body parts of other animals) and grains which are bad for pets.
This is the old debate raw versus highly processed.
A middle way would be to cook the fish. However, as the cat isn't eating, this discussion is pretty useless and in general this is something you have to do BEFORE a cat get's sick, not change the food midway.