The sons version of the English translation is grammatically incorrect, as it's missing an apostrophe. It's not "My sons teacher", it's "My sons' teacher". But I can't report that problem.
Nop. Meu professor = my teacher (male). If the teacher is mine, it cant be "deles". So, it is "o professor deles não come peixe" or "o professor dos meus filhos não come peixe"