Yes, module caching will only work if the module has this option enabled and if the caching option is selected in the Global Configuration. This is of course assuming the module has the caching parameter added to it which all core modules have.
Do bare in mind thought that the caching option in the Global Configuration is different to the caching that the System Cache plugin does. The plugin will cache the whole page including module even if the module has the option disabled.
The only problem with adding a caching field to the XML file of all 3rd party extensions is of course that it is considered a core hack so in my opinion you would be best off using an extension such as JotCache
Hope this helps