That's full text search, not having directly the argument definition. If you search "-l" in "man ls", it will be only your 8th occurence.
You could always make your function more clever, e.g.:
function mano() {
man "$1" | grep -A1 -- "$2\\b"
}
or function mano() {
man "$1" | grep -A1 -- "$2 "
}
but most probably, you will still run into edge cases that won't work properly. For instance, only one of the two versions above still works with "test -e".