# Python 2, 76 bytes

<!-- language-all: lang-python -->

    lambda l:filter(lambda n:eval(("sum(map(int,`n`))**.5==int("*2)[:-6]+")"),l)

[Try it here!][1]

Some abuse of eval to check for a square number, rest is pretty unspectacular.  
The eval statement evaluates to `sum(map(int,`n`))**.5==int(sum(map(int,`n`))**.5)`


  [1]: https://repl.it/C09S