Firstly, using the cpanel backup feature isn't a very good idea in this situation because there are only options to backup and restore entire cpanel accounts rather than a specific domain.
A prerequisite would be to set up the domain on the VPS. If memory serves correctly, this should be using WHM. The interface for this can get slightly confusing but the search box above the navigation helps massively here. Type 'Create' into this box, which should select 'Create a new account' for you. Click this link. The form is very self-explanatory - the username and password entered here will be the cpanel login details for the domain you enter. SAVE THESE DETAILS.
Once the domain is set up on the VPS, you will then need to go to the cpanel for the shared hosting account and take dumps of any databases and all files in the document root for the domain you wish to migrate.
The first step is simple: you must use phpMyAdmin to export the required databases. Databases used by WordPress blogs and most other CMSs can be found in the respective config files (wp-config.php in the blog directory in the case of Wordpress). One by one, select each of the databases required by the domain you wish to migrate and click 'EXPORT' in the top horizontal navigation. You may want to compress the output if your Wordpress installs are large. Either way, download the file to a safe place on your HDD.
The second step is requires you to go back to the main cpanel index page and click 'File manager'. A dialog will pop up and you must select 'Document root for' and then select the site you wish to migrate in the dropdown. Make sure 'show hidden files' is checked and click go.
This should have loaded up a file manager, with many buttons allowing you move, copy, edit and delete files. You should press 'Select all' which is the second-to-last button on the row of buttons starting with 'Home' directly above the list of files.
Once you have clicked this, you must then press the 'Compress' button which is the last button in the row of buttons starting with 'New File' found underneath the 'File Manager' heading. This will allow you to quickly create a zip of files - you should double click this in the File Manager (you may have to press 'Reload') and download it to a safe place. Delete this file in the File Manager once you have downloaded it!
Now, access the cpanel for the domain on the VPS by navigating to
http://<your server IP>/cpanel and entering the details you entered when creating the account.
Firstly, create the necessary databases and corresponding users for each, noting down the details for each. Once this is done, navigate back to the cpanel index and go to phpMyAdmin. Clicking each databse, you must import the saved db dumps into each database from earlier - the button for this can be found next to the import button.
Secondly, you must navigate back to the cpanel index and go to File Manager again. In here you must click 'Upload' in the top row of buttons and find the compressed file you downloaded earlier. Once it has been uploaded to document root for the domain, you just select it and click 'Extract'. This should extract all of the site files into the document root.
If it extracts them into a sub-folder, double click on it and select all files in the folder. Select all files and then press 'Move' in the top row. This will open a dialog and you must edit the path to match the document root of the domain.
In the file manage, you will also be able to edit your config files for any of your DB driven apps. Do this by navigating through File Manager as you would otherwise, finding any config files and pressing 'Code Editor' at the top, okaying any dialogs which show.
Once this has been done, verify the site has been set up successfully by accessing it from
http://<your server ip>/~<the cpanel username>. This may not working if your website relies on using a domain as opposed to working relative to the folder it is in. This will still allow you to check if your DB apps are connecting to the databases as required.
Once all this has been done and verified to be working correctly, you should switch the nameservers of that domain to the VPS' nameservers.
I hope this helps and please let me know if there's anything that doesn't make sense!