As @xzczd pointed out, for a minimum to exist the coefficient of the second term should be positive. After doing that, you can improve accuracy by setting [`AccuracyGoal`](http://reference.wolfram.com/language/ref/AccuracyGoal.html):

    f[x_, y_] := (x - 1)^2 + 10^-20 (y - 2)^2
    NMinimize[f[x, y], {x, y}]
    (* Output: {1.75769*10^-20, {x -> 1., y -> 0.674219}}*)
    NMinimize[f[x, y], {x, y}, AccuracyGoal -> 40]
    (* Output: {6.70318*10^-29, {x -> 1., y -> 1.99992}} *)