Why is "soup and sandwich" not correct?
It should have worked, lack of articles is accepted (as this is just a phrase).
why not kanapke
"kanapkę" is the Accusative form, used for the direct object of the sentence. We don't even have a sentence here, just two nouns without any context, so they should take the basic, Nominative case.
Lubię kanapkę, ale nie lubię zupę.
Fun part: when you negate a verb that takes the Accusative case (like "lubię"), it takes the Genitive case instead. So it's "... ale nie lubię zupy".
Other cases stay unchanged even if negated.