I want to have cipher which when people decrypt it with their own key, get different meaningful messages. Is this possible at all?
In theory yes. In practice no.
You could use one-time pad cipher like
a \xor k = b and c \xor k' = b
But this reverses the role of the key and message.
b becomes the key and
k' the cipher text. In fact you could change the XOR function to any other function, it would need the same properties and therefore have the same weaknesses.