成り立たないことがあります。
理由は、複素数の「累乗(べき乗)」は実数のときと違って多価(値が1つに定まらない)になりやすいからです。たとえば複素数では z^x を z^x = exp(x Log z) と定義しますが、Log z(複素対数)は 2πi を足した分だけ無限に別の値があり、そこから計算する z^x も分岐してしまいます。そのため a=b でも、どの Log を選ぶか(どの枝にするか)で a^x と b^x が同じにならない扱いが起きえます。
ただし、x が整数なら話は簡単で、a=b なら必ず a^x=b^x です(掛け算を繰り返すだけなので一意に決まります)。問題が出るのは x が整数でない場合(分数、実数、複素数など)で、特に a や b が 0 でない複素数のときに「どの値を採用するか」を決めないと等式が素直に言えなくなります。