From a once over:

* You are using lowerCamelCase, that is good
* Variables like `ans` and `prob` deserve to be written out to `answer` and `problem`
* You are using functions, but I think it can be split up a bit more from a best practices. I would go for something like this:

        while( stillPlaying ){
          problem = generateNewProblem();
          answer = getAnswer( problem );
          processAnswer( answer );
        }
* `['+', '\u2212', '\xD7', '\xF7'][randInt(4)];` I wonder why you could not simply use `['+','-','*','/']`. Regardless you should have 4 constants for those values since you use those values repeatedly in other places

        var plusSign = '+',
          minusSign = '-',
          timesSign = '*,
          divideSign = '/',
          signs = [plusSign , minusSign, timesSign, divideSign];

          if (sign == divideSign) num1 *= num2;
* This seems funny: `num1 = randInt(maxNum + 1);`, if you were trying to avoid zero, you really need `num1 = randInt(maxNum) + 1;`
* Avoid dropping the curly braces and newlines, even when `if` statements are short like here: `if (sign == '\u2212') num1 += num2;`


Here's my attempt for fun and giggles.

<!-- begin snippet: js hide: false -->

<!-- language: lang-js -->

    var maxNum = 12,
        signWidt = 12,
        question = document.getElementById( 'question' ),
        input = document.getElementById( 'input' ),
        errorMessage = document.getElementById( 'errorMessage' ),
        greatMessage = document.getElementById( 'greatMessage' ),
        answer;
    //Some of these signs are closer to what children use in school
    var plusSign = '+',
        minusSign = '\u2212',
        timesSign = '\u2212',
        divideSign = '\xF7',
        signs = [plusSign , minusSign, timesSign, divideSign];


    function randInt(max) {
      return Math.floor(Math.random() * max);
    }

    function calculateAnswer(n1, sign, n2) {
      switch (sign) {
        case plusSign:
          return n1 + n2;
        case minusSign:
          return n1 - n2;
        case timesSign:
          return n1 * n2;
        case divideSign:
          return n1 / n2;
        default:
          return false;
      }
    }

    function displayQuestion( s ){
      //We know the question will never surpass 12 chars..
      var extraneousSpace = 12 - s.length, spaceLeft, spaceRight;
      //Compare last bit to 1, if that bit is 1, the number is odd
      //So we subtract 1 before we evenly divide by 2 and 1 space on the right
      if( extraneousSpace & 1 ){
        extraneousSpace--;
        spaceLeft = extraneousSpace / 2;
        spaceRight = spaceLeft + 1;
      } else {
        spaceLeft = spaceRight = extraneousSpace / 2;
      }
      //Mildly evil re-use of variable and magical space repeating routine
      //http://stackoverflow.com/questions/202605/repeat-string-javascript
      spaceLeft = new Array( spaceLeft + 1 ).join( ' ' );
      spaceRight = new Array( spaceRight + 1 ).join( ' ' );
      question.innerText = spaceLeft + s + spaceRight;
    }

    function generateQuestion(){
      var sign = signs[randInt(4)],
          num1 = randInt(maxNum + 1),
          num2 = randInt(maxNum + 1);  
      
      if (sign == minusSign){
        num1 += num2;
      }
      if (sign == divideSign) {
        num2 = randInt(maxNum) + 1;
        num1 *= num2;
      }  
      answer = calculateAnswer( num1 , sign, num2 );
      displayQuestion( num1 + ' ' + sign + ' ' + num2 )
    }

    generateQuestion();
    input.focus();

    input.addEventListener( 'keypress' , function(e){
      console.log( this );
      if( e.which == 13 || e.keyCode == 13 ){
        if( input.value != answer ){
          errorMessage.innerText = 'Wrong, ' + question.innerText.trim() + ' = ' + answer;
          greatMessage.innerText = '';
        }else {
          errorMessage.innerText = '';
          greatMessage.innerText = 'That is right, here\'s another question';    
        }
        input.value = '';
        generateQuestion();
      }
    });

<!-- language: lang-css -->

    #errorMessage { color: red }
    #greatMessage { color: green }

<!-- language: lang-html -->

    <pre>
    | ̄ ̄ ̄ ̄ ̄ ̄ |
    |   What is  |
    |<span id='question'>            </span>| 
    |      ?     |
    | _______| 
    (\__/) || 
    (•ㅅ•) || 
    /   づ
    </pre>
    <input type='text' id='input'><br>
    <pre>
    <span id='errorMessage'></span><span id='greatMessage'></span>
    </pre>

<!-- end snippet -->