cannot enable module after DB migration, only in one environment
The system module builds this form in the function system_modules(). It disables a module in the UI under 3 conditions:


The module is required by your Drupal distribution. 
The module is missing a dependency.
The module (or one of its dependencies) has version incompatibility with Drupal core.


In any of these cases, you can click the Description fieldset which shows the dependencies required and highlights the ones that are missing. 

Another direct method is to utilize the Drush command:

drush en module_a


Drush will attempt to enable the module and alert you if module_a doesn't exist or it has unmet dependencies (which should help you track down what is missing).