The owner of an object has the implicit privilege to grant/revoke any privilege on that object to/from any user, unless the object is a view, macro, or stored procedure. Owners of these objects require the same grantor privileges required for non-owners.
Non-owners must be granted a privilege on an object, WITH GRANT OPTION, or for roles WITH ADMIN OPTION, to grant/revoke privileges to/from another user.