Yes this is possible,
First, get the complete database and files as a backup of your current website from current hosting.
Steps for single hosting: Now upload all the files to the new hosting, login to your domain provider account, and go the DNS management option, here you have to add the new DNS (name server) provided from the new hosting provider. Optional you can add the IP address of the hosting. It may take a minimum of 1 to 2 hours of time to point.
Steps for shared hosting: login to the CPanel and add add-on domain, this will create a folder named your add-on domain in the file manager. Now upload the backup data to the particular folder. Now follow the first process to point the domain to new hosting provider.
* If you have a database then you have to create a database and import the database file, downloaded from the old server using the PHP wizard option available in the cPanel.