A website is four separate possessions, held in four separate places, and each can be in a different name.
The domain. The address itself, registered through a registrar with a registry behind it. The name recorded as the registrant is the holder, whatever the invoice says. If the agency registered it in its own name, the agency holds it.
The hosting. The account at whichever company serves the pages, and the settings inside it. For a static site this also means the account at the service that builds and publishes the site, and the settings it needs to do so. When we tested rebuilding one shop from its code alone, it failed, because 19 settings held in the hosting account were missing from the handover. The code was not enough. The settings were part of the site.
The code and the content. The files that make the site, and the words and pictures in it. On a WordPress site these are in a database and a folder on the server, and are only yours if you can export them. On a site built from a repository they are plain files in version control, with their whole history, readable by any engineer.
The sign-ins. The editor, the domain account, the hosting account, the repository, and the services behind forms and payments. Each has an owner, each should have a second factor, and the list of who holds what is the thing most businesses have never seen.