Website hosting can be basic, or very advanced. Does your client have the requirements from their site's developer as to what is required/recommended? If not, get that information before you even think about it.
If you cannot get the requirements, then I would recommend you find a few different hosting providers, get their specs, and offer them as your "solutions". If their webapp does not run on it due to the specs being too low, it's up to the client to pay more to get what's needed - this only happens if you provide up front what your services can host. For example - PHP 5.0, 5.5, or 7.0? Apache vs nginx? MySQL vs MariaDB vs PostgreSQL vs MS SQL? Windows vs Linux?
Next, uptime and availability. What will the client accept? Many web hosts offer close to 99.999% uptime ("Five 9's") means only 5 minutes per year the site can be inaccessible! See High Availability for more information on what can be offered. You need to make sure if you host it yourself, you can maintain that availability; if you offload to a third party, make sure they can.
How about monthly payments? I don't know any providers that accept a yearly payment, they all seem to be monthly. What if you client disappears when your bill is due? Get them down to monthly.
Updates? Upgrades? Who's responsible? Does it count as downtime if they are performing the upgrade (it may seem silly, but some clients see it that way)?
Here's what I recommend you do, especially if you foresee any issues with the above:
- Get a list of domain registrars and hosting providers you like. Learn what their costs are to the client, and how they can upgrade later if needed.
- Send the information along to the client, letting them know these are what you recommend their web developer use.
- Sit back, relax, and don't worry about the inevitable long hours you could have spent troubleshooting someone else's issue just because you hosted it.