If a metric space is separable, then any open set is a countable union of balls. Is the converse statement true?

UPDATE1. It is a duplicate of the question here https://math.stackexchange.com/questions/94280/if-every-open-set-is-a-countable-union-of-balls-is-the-space-separable/94301#94301

UPDATE2. Let me summarize here the positive answer following Joel David Hamkins and Ashutosh. It is a matter of taste, but I omit using ordinals and use Zorn lemma instead, which may be more usual for most mathematicians (at least, it is for me).

Lemma 1. If $(X,d)$ is non-separable metric space, then for some $r>0$ there exists an uncountable subset $X_1\subset X$ such that $d(x,y)>r$ for any two points $x\ne y$ in $X_1$.

Proof. For each $r=1/n$ consider the maximal (by inclusion) subset with such property. If it is countable, then $X$ has a countable $1/n$-net for each $n$, hence it is separable.

Now consider two cases. Define $X_2\subset X_1$ as a set of points $x\in X_1$ for which there exist a point $y_x\in X$ such that $0<d(x,y_x)<r/10$. Consider two cases.

1) $X_2$ is uncountable. Consider the union of open balls $U=\cup_{x\in X_2} B(x,d(x,y_x))$. Consider any open ball $B(z,a)$ containing in $U$. We have $z\in U$, so $d(z,x)<d(x,y_x)$ for some $x$, but $r/5>2d(x,y_x)\geq d(x,z)+d(x,y_x)\geq d(z,y_x)>a$ since $y_x\notin B(z,a)$. It implies that $B(z,a)$ is contained in a unique ball $B(x,d(x,y_x))$, hence we need uncountably many such balls to cover whole $U$.

2) $X_3=X\setminus X_2$ is uncountable. For any $x\in X_3$ define $R(x)>0$ as a radius of maximal at most countable open ball centered in $x$. Clearly $R(x)\geq r/10$ for any $x\in X_3$. For any $x\in X_3$ define a star centered in $x$ as a union $D=x\cup C$, where $C=\{z_1,z_2,\dots\}\subset X_3$ is a countable sequence of points with $d(x,z_i)\rightarrow R(x)+0$. Choose a maximal disjoint subfamily of stars. Clearly it is uncountable, else we may easily increase it. Denote by $U$ the set of centers of chosen stars. It is open (as any subset of $X_3$), assume that it is a countable union of balls $U=\cup_{i=1}^{\infty} B(x_i,r_i)$, $x_i\in U$. We have $r_i> R(x_i)$ for some $i$, else $U$ is at most countable. But then $B(x_i,r_i)$ contains infinitely many points of the star $D$ centered in $x_i$, while by our construction $U\cap D=\{x_i\}$. A contradiction.