Each project you create that requires the services of an API (google, microsoft, icloud etc) should really be set up with their own accounts and authorisation keys.
There is nothing stopping you from using the same account over multiple projects. Consider, if you will, a large company that produces many software products that all use google maps. Rather than an individual account for each project, along with a unique key, you might have a single account with multiple authorisation keys (one for each project). While you should really create seperate keys for each application, you can indeed use the same key over all applications. Legally there is nothing preventing you from publishing an application under a different account to the one you used to generate any authorisation keys.
On the subject of maintaining this for your client:
If the product is a custom build specifically for your client, then burden of maintaining the account to which the keys are bound should really fall on the client directly once you have finished. By all means, set the accounts up for them and provide the credentials for use once you are done (I wouldn't expect any clients to do this themselves).
Maintaining a direct link to the project once it is finished could turn out badly for either you or the client.
Consider the following scenarios
1) You, for whatever reason, fall out with the client.
2) You, for whatever reason, are no longer able to maintain the account (eg. financial, incapacitation, retirement etc)
In these cases, the client could potentially lose a critical component of their product and as a result legal action could be taken against you to recoup any loss of earnings. This is why it is far safer and a much better idea to pass over all accounts and details of the project to the client so that they can maintain it themselves, making sure to document things properly so they can do so.
So back to your initial questions.
Can you use a key from an account that is different to the publishing account within the application? Absolutely.
Is it legal? Yes.
Should you the developers personal/company account to maintain it for the client? Not really, but that doesn't mean it can't/shouldn't be done (given the right circumstances.