You could have a low b-12 if you are vegetarian, have been for several years and don't take supplemental b-12.
It could be low if you don't make intrinsic factor. This is made in the stomach and is needed to absorb b-12. Lack of intrinsic factor is usually an autoimmune disorder. You could have low b-12 due to taking proton pump inhibitors
for a long time as stomach acid is needed as well.