I would like to know if vulkan has some known limitations that opengl don't have, and if it requires to have some specific hardware.
I heard that on android, only phones with nvidia gpu will be usable by vulkan (and would not limit the usage of vulkan on gpu), is that true?
Vulkan is supported on a wide range of devices. For desktop it should be possible with hardware that supports OpenGL 4.x and on mobile OpenGL ES 3.1.
But the actual support for Vulkan is ultimately up to the vendor, so if the vendor decides not to offer Vulkan drivers (or Android system images with Vulkan support) then you're out of luck.
You can check out my Vulkan Hardware Database for a list of devices that support Vulkan. You'll also find several mobile GPUs that support Vulkan on Android aside from NVIDIA. Pretty much every mobile GPU vendor has at least one GPU that supports Vulkan.
As for the limitations, there is a wide array of of features and limits for the Vulkan implementation. While stuff like e.g. compute shader support is mandatory, everything else listed under the features is optional so you need to check before using a certain feature. And yes, there are a few things that are missing from Vulkan right now that OpenGL had like transform feedback.
Other than that Vulkan supports an extension mechanism (similar to OpenGL) for offering features that are not part of the core and e.g. vendor specific.