Obojí je správně. První je z latinského základu cancer = rak (tedy rakovina), druhé je z řeckého základu karkinos = rak. Jazykově kulturnější je opravdu karcinogenní, protože ta druhá část je od řeckého gennaio = tvořím a neměly by se míchat základy řecké s latinskými. Ale běžně se to dneska děje i tam, kde by člověk čekal více klasického vzdělání, než mezi zahrádkáři. Třeba appendicitis (zánět červovitého přívěsku tlustého střeva) je taky hybrid: latické slovo appendix + řecká přípona -itis značící zánět. Správněji by bylo "epityphlitis", ale tomu by nikdo nerozuměl.