@Lam Vinh Khang
Thank you for your post!
Yes, a Virtual Machine Contributor should be able to create a VM. Based off our Azure RBAC Virtual Machine Contributor doc, the VM contributor role has permissions (Microsoft.Compute/virtualMachines/*) to "perform all virtual machine actions including create, update, delete, start, restart, and power off virtual machines...".
If you have any other questions, please let me know.
Thank you for your time and patience throughout this issue.
----------
Please remember to "Accept Answer" if any answer/reply helped, so that others in the community facing similar issues can easily find the solution.