Big fish eat little fish.
This is a good thing to remember when thinking about breeding and raising fry. You will have losses if the fry are not removed from parents and other tankmates. If you plan carefully with less predatory fish like xenos, you will increase the survival rate of fry.
Some cyps eat fry, some don't. Some cyps do fine in a 40 gallon tank, some don't. I personally find a 55 gallon to be adequate for standard, tank raised cyps. I also had luck with a school of 10 wild caught cyps in a 55, and I am breeding a subgroup of F1's in a 40-long. Would they be happier in a bigger tank? Sure, who wouldn't? But good color, longevity, minimal aggression and prolific breeding are good indicators of overall fish health and thus a 55 is good enough.
So, back to your great original question: even vegetarian fish (trophs, gobies, plecos) will eat fry if given the chance. Some fish are more aggresive about it than others, but if the fry fit in their mouths there's a chance they'll be lunch.