If there exists functions $f, g$ such that $f(g(x))=x$ can we say that $g(f(x))=x)$ as well? If there exists functions $f, g$ such that $$f(g(x))=x$$ can we say that $g(f(x))=x$ as well? I don't know but it apparently appears to hold true. 
Just to clarify, my doubt lies in the fact whether it ALWAYS HOLDS or not.
Assume that $x\in \mathbb{R}$.
I am not specifying the domain and codomain of the Functions anymore as that may lead to some case wise discussion of the particular matter.
 A: Let $g:\Bbb R \to \Bbb R^2$ be the inclusion map and $f : \Bbb R^2 \to \Bbb R$ be the projection map. Then, $f(g(x)) = f(x,0) = x$, while $g(f(x,y)) = g(x) = (x,0) \ne (x,y)$.
A: That is not true in general. Choose $g(x)$ some function that is injective but not surjective. Choose some $f(x)$ such that $f(g(x))=x$; this is possible since $g$ is injective.
So the image of $g$ is not the entire domain, thus it is impossible that $g(f(x))=x$ for all $x$ in the domain.
However, your claim does hold if the domain is finite; This is because $f(g(x))=x$ implies $f$ surjective, $g$ injective. But over a finite domain this implies that $f$,$g$ are bijections, and from $f\circ{}g=id$ we have
$g\circ{}f\circ{}g=g\circ{}id=g$
taking inverse from the right, we get $g\circ{}f=id$.
A concrete example:
choose $g:\mathbb{R}\to\mathbb{R}$ as $g(x)=e^x$.
choose $f:\mathbb{R}\to\mathbb{R}$ as $f(x)=\ln(x)$ for all $x>0$, and $f(x)=42$ for all $x\le{}0$.
Then $g(x)>0$ for all $x\in\mathbb{R}$. So $f(g(x))=\ln(e^x)=x$ for all $x\in\mathbb{R}$.
On the other hand, $g(f(-1))=g(42)=e^{42}\ne{}-1$
A: Not all functions are like this, only  invertible function:
$f(x)=\ln x,g(x)=e^x$
$f(x)=x^3, g(x)=\sqrt[3]x$
$f(x)=\tan(x), g(x)=\arctan(x)$(this one is only over the domain $(-\pi/2,\pi/2)$)
And much more. An easy counter example is $f(x)=x^2$, to this function every(almost every) value of $f(x)$ has 2 $x$ that give it, for example $x^2=4\implies x=\pm2$, because a function can by definition had only one value it means that there is no $g(x)$ that will have $f(g(x))=g(f(x))=x$ but $\sqrt{x}^2=x$(and $\sqrt{x^2}=|x|\ne x$). Another counter example is $f(x)=\tan(x), g(x)=\arctan(x)$ over larger domain: $\tan(\arctan(x))=x$ while $\arctan(\tan(x))$ is not equal to $x$ if $x$ is outside of $(-\pi/2,\pi/2)$
