Why don't we say "cat's food' but "cat food", is it because the owner is not a human? Can we say pets' food?
We use "cat food" because it's not a genitive. "Cat" is a descriptor. It's the equivalent of "blue house" - a house that is blue.
A can of "cat food" is a can of food for cats - generally, not a specific cat.
You can definitely say "cat's food" but you wouldn't use it to describe the food generally, you use it to describe it particularly. Here's an example.
- My dog eats cat food.
- My dog eats the cat's food.
These mean different things. Version 1 means that I, for some reason, feed my dog cat food instead of dog food. Version 2 means that I have both a cat and a dog and the dog eats the food that's put out for the cat.