To do it with a collection, you’d have to iterate the collection, setting and saving each member object.
It would be more efficient just to use the fact that xPDO wraps PDO.
$table_name = $modx->getTableName('table');
$result = $modx->query("UPDATE {$table_name} SET {$modx->escape('value')} = 'n' WHERE {$modx->escape('k')} = 'n');
So $modx->query is wrapping PDO::query
http://ca3.php.net/manual/en/pdo.query.php
Also note the use of $modx->escape to properly escape field names.. this will help to make sure your work will be portable across database drivers, as MODX starts to support that in the upcoming 2.1 release. (Assuming, of course, that the syntax of your SQL statement itself is portable ;-)