Sure you can, you need to:
1. Move all the files from server A to server B.
2. Backup the database of website A and restore it in website B.
3. Update app/settings.php of website A with the database details of website B.
You will also need to update the DNS, that is the tricky part because that propagation is not instant and in some cases people will access to website A and not website B. You have to make sure to create a landing page for the people that because the DNS issue will be still seeing website A.
If your website is large the best that you can do is server to server transmission and that can be done using the rsync command. If your database is large don't back up it using phpmyadmin, use the cPanel tool or the mysql command line. You will surely get a corrupted database if you do it using phpmyadmin.