If you can assume that there will always be a space only after the first level parenthesis, then this would work:
\((.+?)\)(?= )
What this regex does is unless there is a space after the match, it doesn't accept it.
Another possibility is if you assume that inner brackets will always have another closing bracket after them. In this case, the following will work:
\((.+?)\)(?!\))
What this does is it makes sure that there isn't a closing bracket immediately after the match.
However, both of these approaches make some assumptions that may not be true. If this is the case, then it is impossible to do this with normal regex.
Refer to this question: Can regular expressions be used to match nested patterns?
The reason it is impossible is that regex is based on Finite State Automata. They are finite, and the only 'memory' they have is the state they are in. This means to count nested parentheses, you would need enough states to be able to store the number of nested parentheses. If there is no limit, you could have an infinite number, which goes against the basic concept.
Some regex implementations have, however, begun to include recursive expressions, which would solve this problem, for example PCRE, the regex engine for PHP. See http://php.net/manual/en/regexp.reference.recursive.php