I suspect some plugin is hooking into the user_has_cap
filter and removing the edit_plugin
cap for the administrator account.
To find out if this is the case, try deactivating plugins, one at a time, and see if the editor comes back. When/if it does, you'll know which plugin has removed the cap.
Edit:
What you do once you find the plugin in question is a different matter. If the plugin is vital to the functioning of your site, then see if it has a setting where you can tell it not to remove the edit_{plugin,theme}
capability.
If it doesn't, then do NOT edit the source of the plugin to fix the problem (because your edit will get lost when/if that plugin's author updates it). Instead, you can simply hook into user_has_cap
yourself (in a plugin or theme you control) and add the cap back in. If you do this, make sure you are hooking in with a higher priority than the plugin in question is using, e.g., add_filter ('user_has_cap', 'your_func', 99999, 4) ;
. See user_has_cap and add_filter() for more info on how to do this.
user_has_cap
filter and removed theedit_plugin
cap for the administrator account.