The reason behind the difference in the specific heat capacity is that objects with different molecular structures have different ways of storing energy. Since the specific heat is a macroscopic counting property that counts how much energy certain materials can store, they are different for different materials. For example - the gas argon is monoatomic because it is composed of several molecules of a single atom and a single atom can store energy only in three ways. Whereas, oxygen is composed of many molecules of two atoms of oxygen and this molecule has more ways of storing energy. Thus, the specific energy of the gas oxygen should be higher than argon's because it has more ways of storing energy.Also, Bigger molecules have many other ways of storing energy so their specific heat is even higher. So, the difference in a material due to different atoms, different molecules, and different packaging result in differences in heat storage.