It depends on your needs. Inheritance provides you with access to protected members of a superclass whereas composition does not. If there are class members that should be available only to a derived class then it does not make sense to make them properties and access them with composition because every other object could access them as well. Otherwise it is about what you and your team prefer.
EDIT:
No rules are so strict as you think they are. Design patterns, for instance, are just templates and you don't need to strictly follow them. You can't blindly follow rules, no one will credit you for this. It's much better to have OOP in mind but write your code so that you can clearly explain what have you done and why.
Since I don't know design of your two classes, I can't really tell you what are your needs. This statement (already mentioned) should be enough to point you in the right direction.
Inheritance provides you with access to protected members of a superclass whereas composition does not.