You are calling a vSphere method of the VirtualMAchine object, while the object you are using is a .NET object returned by Get-VM.
The .NET object maps to the vSphere object via the ExtensionData property.
You could do
$vm.ExtensionData.ReconfigVM_Task($vmConfigSpec)
Blog: lucd.info Twitter: @LucD22 Co-author PowerCLI Reference